import Vue from 'vue'
import Vuex from 'vuex'
import { getUser } from "@/api/user";
import router from "@/router";
Vue.use(Vuex)

export default {
    // 状态定义
    state: {
        userInfo:{
            realName: '默认姓名',
        }
    },
    getters: {
        // 获取用户信息
        getUserInfo: (state) => {
            return state.userInfo;
        }
    },

    // 状态变更方法
    mutations: {
        // 设置用户信息
        setUserInfo(state, userInfo) {
            state.userInfo = userInfo;
        },
        // 更新用户信息
        updateUserInfo(state, userInfo) {
            state.userInfo = { ...state.userInfo, ...userInfo };
        }
    },

    // 异步操作
    actions: {
        // 获取用户信息
        async fetchUserInfo({ commit }) {
            try {
                const response = await getUser();
                let {data} = response.data;
                if (response && data) {
                    commit('setUserInfo', data);
                }
            } catch (error) {
                router.push('/login');
                // console.error("获取用户信息失败:", error);
                // Message.error("获取用户信息失败");
            }
        }
    }
}